package net.dopan.pigframe.demo.mapper;

import net.dopan.pigframe.core.base.dao.BaseDao;
import net.dopan.pigframe.demo.model.entity.UserDemo;
import net.dopan.pigframe.demo.model.entity.vo.EventUserNoteVo1;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface HomePageMapper extends BaseDao<UserDemo> {


    List<Map<String, String>> getUser(@Param("username")String username,@Param("password") String password);

    List<Map<String, String>> checkRelationship(@Param("userId") String userId, @Param("friendId") String friendId);

    List<Map<String, String>> checkConcern(@Param("userId") String userId, @Param("friendId") String friendId);

    List<Map<String, String>> checkFans(@Param("userId") String userId, @Param("friendId") String friendId);

    Integer addConcern(@Param("userId") String userId, @Param("friendId") String friendId, @Param("friendName") String friendName);

    Integer addFans(@Param("userId") String userId, @Param("friendId") String friendId, @Param("friendName") String friendName);

    String findUsername(@Param("userId") String userId);

    List<Map<String, String>> getFriends(@Param("userId") String userId);

    /**
     * 获取好友动态
     */
    List<Map<String, String>> getUserEvent(@Param("userId") String userId, @Param("userIds") List<String> userIds, @Param("offset") Integer offset, @Param("limit") Integer limit);

    /**
     * 查询个人动态中发布的活动
     */
    List<Map<String, String>> getEventActivity(@Param("activityId") String activityId, @Param("userId") String userId);

    List<EventUserNoteVo1> getEventUserNoteMap(@Param("noteId") String noteId, @Param("userId") String userId);

    /**
     * 获取用户昵称
     */
    String findUsernameById(@Param("userId") String userId);

    /**
     * 添加关注
     */
    Integer concernUser(@Param("userId") String userId, @Param("concernUserId") String concernUserId, @Param("concernUsername") String concernUsername);

    /**
     * 更新用户关注数量
     */
    void updateUserConcernNum(@Param("concernNum") Integer concernNum, @Param("userId") String userId);

    /**
     * 添加粉丝
     */
    Integer addfans(@Param("userId") String userId, @Param("fansUserId") String fansUserId, @Param("fansUsername") String fansUsername);

    /**
     * 更新用户粉丝数量
     */
    void updatefansNum(@Param("fansNum") Integer concernNum, @Param("userId") String userId);

    /**
     * 查询用户关注数量
     */
    Integer concernCount(@Param("userId") String userId);

    /**
     * 查询用户粉丝数量
     */
    Integer fansCount(@Param("userId") String userId);
}
